package com.guodi.model.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.guodi.model.entity.ApiIdtFillTask;
import com.guodi.model.entity.CmeReport;
import com.guodi.model.entity.IdtFillTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guodi.model.vo.ApiIndicatorsDirFillTaskVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
* 指标填报任务表  Mapper 接口
* @author lzy
* @date 2023-05-08
*/
public interface IdtFillTaskMapper extends BaseMapper<IdtFillTask> {

    /**
     * @描述: 根据条件查询列表
     * @入参:year 年份
     * @入参:creatorDivisionCode 创建人所属行政区划编码
     * @入参:length 行政区划编码长度
     * @出参:
     * @作者: lzy
     * @日期: 2023/5/8 16:19
     **/
    List<IdtFillTask> listByCondition(@Param("year") String year,@Param("creatorDivisionCode") String creatorDivisionCode,@Param("length") int length);

    /**
     * @描述: 通过父节点获取所有的列表数据
     * @入参:
     * @出参:
     * @作者: lzy
     * @日期: 2023/5/9 11:25
     **/
    List<ApiIndicatorsDirFillTaskVo> listDirByCode(@Param("parentId")String parentId,@Param("orgId") String orgId);

    /**
     * @描述: 分页根据条件查询列表
     * @入参:
     * @出参:
     * @作者: lzy
     * @日期: 2023/5/22 15:53
     **/
    IPage<ApiIdtFillTask> pageByCondition(@Param("page") Page page, @Param("year") String year, @Param("creatorDivisionCode") String creatorDivisionCode, @Param("length") int length);

    /**
     * @描述: 审核任务
     * @入参:
     * @出参:
     * @作者: lzy
     * @日期: 2023/5/22 16:33
     **/
    IPage<IdtFillTask> taskToExamineList(@Param("page") Page page, @Param("year") String year, @Param("regionCode") String regionCode,@Param("status") List<String> status);

    /**
     * @描述: 根据行政区和年份获取报告数据
     * @入参:
     * @出参:
     * @作者: lzy
     * @日期: 2023/5/24 14:22
     **/
    CmeReport getReportByYearAndDivision(@Param("year") String year,@Param("divisionCode") String divisionCode);
}
